using System;
using System.Collections.Generic;

namespace Giraffe.Core.Common.Messengers
{
    public interface IMessenger
    {
        MessengerType MessengerType { get; }
        IEnumerable<IMessengerContact> ContactList { get; }
        IMessengerContact OwnContact { get; }
        void Login();
        void Logout();
        bool IsLogined { get; }
        IMessengerConversation StartConversation(IMessengerContact companion);
        event Action Logined;
        event Action ContactListChanged;
        event Action<IMessengerContact> NewConversationRecieved;
    }
}